Mahasiswa mampu memahami konsep routing pada Laravel, menggunakan file web.php, memahami method GET dan POST, menggunakan parameter route, serta menerapkan route group dan naming route dalam aplikasi Laravel.
Dalam Laravel, routing merupakan salah satu komponen utama yang digunakan untuk mengatur:
Routing menjadi penghubung antara browser user dengan sistem Laravel.
Routing adalah proses menentukan respon aplikasi terhadap request URL tertentu.
Routing digunakan untuk:
Routing berfungsi untuk:
Alur sederhana:
Browser User
↓
Request URL
↓
Laravel Route
↓
Controller / View
↓
Response ke Browser
Route::get('/', function () {
return 'Hello Laravel';
});
| Bagian | Fungsi |
|---|---|
| Route | Class routing Laravel |
| get | Method request |
| / | URL |
| function | Logic route |
| return | Output |
Jika browser membuka:
http://127.0.0.1:8000
Maka tampil:
Hello Laravel
File:
routes/web.php
merupakan file utama routing website Laravel.
Digunakan untuk:
project-laravel/routes/web.php
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});
Contoh:
Route::get('/about', function () {
return 'Halaman About';
});
Buka browser:
http://127.0.0.1:8000/about
| File | Fungsi |
|---|---|
| web.php | Route website |
| api.php | Route API |
| console.php | Command artisan |
| channels.php | Broadcasting |
HTTP Method digunakan untuk menentukan jenis request dari browser ke server.
Method paling umum:
GET digunakan untuk:
Contoh:
Route::get('/home', function () {
return 'Halaman Home';
});
| Karakteristik | Penjelasan |
|---|---|
| Data tampil di URL | Ya |
| Digunakan membaca data | Ya |
| Aman untuk halaman umum | Ya |
POST digunakan untuk:
Route::post('/simpan', function () {
return 'Data berhasil disimpan';
});
<form method="POST" action="/simpan">
@csrf
<button type="submit">Simpan</button>
</form>
Laravel menggunakan:
Untuk keamanan form.
| GET | POST |
|---|---|
| Mengambil data | Mengirim data |
| Data tampil di URL | Data tersembunyi |
| Untuk halaman | Untuk form |
Parameter route digunakan untuk:
Route::get('/user/{id}', function ($id) {
return 'ID User: '.$id;
});
Jika URL:
http://127.0.0.1:8000/user/5
Maka hasil:
ID User: 5
Route::get('/produk/{id}/{nama}', function ($id, $nama) {
return $id.' - '.$nama;
});
Route::get('/kategori/{nama?}', function ($nama = 'Umum') {
return $nama;
});
Route::get('/mahasiswa/{nim}', [MahasiswaController::class, 'show']);
Controller:
public function show($nim)
{
return $nim;
}
Digunakan untuk:
Route group digunakan untuk:
Digunakan untuk:
Route::prefix('admin')->group(function () {
Route::get('/dashboard', function () {
return 'Dashboard Admin';
});
Route::get('/user', function () {
return 'Data User';
});
});
| Route | URL |
|---|---|
| Dashboard | /admin/dashboard |
| User | /admin/user |
Naming route digunakan untuk:
Route::get('/dashboard', function () {
return 'Dashboard';
})->name('dashboard');
route('dashboard')
| Keuntungan | Penjelasan |
|---|---|
| URL lebih fleksibel | Mudah diubah |
| Mempermudah redirect | Tidak hardcode URL |
| Lebih rapi | Struktur route jelas |
return redirect()->route('dashboard');
Tambahkan pada:
routes/web.php
Kode:
Route::get('/profil', function () {
return 'Halaman Profil';
});
Route::post('/simpan', function () {
return 'Data disimpan';
});
Route::get('/mahasiswa/{nama}', function ($nama) {
return 'Nama Mahasiswa: '.$nama;
});
Route::prefix('admin')->group(function () {
Route::get('/produk', function () {
return 'Produk';
});
});
Route::get('/dashboard', function () {
return 'Dashboard';
})->name('dashboard');
Routing pada Laravel berfungsi untuk mengatur request dan URL aplikasi web. Dengan memahami file web.php, method GET dan POST, parameter route, route group, dan naming route, mahasiswa dapat membangun navigasi aplikasi Laravel yang dinamis, terstruktur, dan mudah dikembangkan.